---
title: "Persistent Session with History Context"
---

This example shows how to use the session history to store conversation history and add it to the context with configurable history limits.

## Code

```python cookbook/examples/teams/session/02_persistent_session_history.py
"""
This example shows how to use the session history to store the conversation history.
add_history_to_context flag is used to add the history to the messages.
num_history_runs is used to set the number of history runs to add to the messages.
"""

from agno.agent.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.openai import OpenAIChat
from agno.team import Team

db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"

db = PostgresDb(db_url=db_url, session_table="sessions")

agent = Agent(model=OpenAIChat(id="gpt-5-mini"))

team = Team(
    model=OpenAIChat(id="gpt-5-mini"),
    members=[agent],
    db=db,
    add_history_to_context=True,
    num_history_runs=2,
)

team.print_response("Tell me a new interesting fact about space")
```

## Usage

<Steps>

    <Snippet file="create-venv-step.mdx" />

    <Step title="Install required libraries">
        ```bash
        pip install agno psycopg2-binary
        ```
    </Step>

    <Step title="Set environment variables">
        ```bash
        export OPENAI_API_KEY=****
        ```
    </Step>

    <Step title="Start PostgreSQL database">
        ```bash
        cookbook/run_pgvector.sh
        ```
    </Step>

    <Step title="Run the agent">
        ```bash
        python cookbook/examples/teams/session/02_persistent_session_history.py
        ```
    </Step>

</Steps>